#include "UIMainStatusMod.h"
#include <QDebug>

#include "..\..\Visitor\VisitorDisplayName.h"

#include "..\..\ModRun\FactoryModRun.h"

#include "..\..\ModRun\Output\ModRunOutput.h"
#include "..\..\ModRun\Output\ModRunDescOutput.h"

#include "..\CMainUIManage.h"

UIMainStatusMod::UIMainStatusMod(IUIElement* pElement)
    :IUIMainStatus(pElement)
{
    m_emMainStatus = emMainStatus_Mod;
    m_strName = ("\r\n");
}

UIMainStatusMod::~UIMainStatusMod()
{
    FactoryModRun::Destory();
}

void UIMainStatusMod::PreDisplay()
{
    
}

void UIMainStatusMod::Display()
{
    EnumModRun lastModel = CMainUIManage::GetInstance()->GetLastModel();
    
    std::unique_ptr<InterFaceModRun> pModeRun(FactoryModRun::GetInstance()->CreateModRun(lastModel));
    if (pModeRun)
    {
        pModeRun->InitDisplay();
    }
}

void UIMainStatusMod::AfterDisplay()
{

}


//显示运行结果;
void UIMainStatusMod::DisplayRun()
{
    EnumModRun lastModel = CMainUIManage::GetInstance()->GetLastModel();

    std::unique_ptr<InterFaceModRun> pModeRun(FactoryModRun::GetInstance()->CreateModRun(lastModel));
    if (pModeRun)
    {
        pModeRun->ModRun();
    }
}
